package com.ybkj.daijia.server.sp;

import java.io.Serializable;
import java.util.Date;

/**
 * BJ 车辆备案 spmodel 车辆基本信息接口 spmodel 网约车车辆里程信息接口
 *
 * @author Sakura
 */
public class ClbaMessage implements Serializable {

    private static final long serialVersionUID = -4261487811062196719L;

    /**
     * 无用字段
     */
    private Long id;// 车辆备案ID

    private Date created;// 创建时间
    private Date updated;// 修改时间

    /**
     * BJ 车辆备案（MOREQ_CLBA）
     */
    private String driverProType;//车辆归属,定长 2,GR个人私家车ZY平台自有车CZ出租企业

    private String vehicleBrand;//车型,以机动车行驶证为准

    private Date vehRegisDate;//车辆注册日期,yyyyMMdd

    private String vehicleLicense;//车牌号码,6位车牌号，去除“京”，字母大写

    private Date ncpFirstDate;//网约车初次登记日期,yyyy-MM-ddHH:mm:ss

    private String certificateNo;//网约车车辆运输证号,测试阶段按编码规则提交模拟数据

    private String vehicleStatus;//状态,YY运营,TC退出

    private String boardColor;//车牌颜色,见JT/T 697.7—2014中5.6

    private String vehicleType;//车辆类型，如经济型、舒适型、豪华型

    private String vehiclePhoto;//车辆照片（彩色），照片大小在5k~500k之间，扫描件照片Base64编码拍摄角度为车辆左前方45度角，类似于行驶证照片

    private String vehiclePhotoPath;//车辆照片（彩色），照片大小在5k~500k之间，扫描件照片Base64编码拍摄角度为车辆左前方45度角，类似于行驶证照片

    private Double distanceTotal;//车辆行驶总里程，Double，单位：km,精确至小数点后2位

    private String annualCheckStatus;//年度审验状态,见JT/T 415—2006中5.4.4

    private String examStatus;//车辆检修状态

    private Date nextExamDate;//车辆下次年检时间，yyyyMMdd

    private String ncpDeviceSerialNum;//网约车发票打印设备序列号

    private String gpsBrand;//卫星定位装置品牌

    private String gpsDeviceType;//卫星定位装置型号

    private Date gpsFixDate;//卫星定位装置安装日期，yyyyMMdd

    private String gpsIMEI;//卫星定位装置IMEI号

    private String transPriceType;//运价类型，与运价信息（MOREQ_YJXX）接口记录中“运价类型”字段对应


    /**
     * spmodel 车辆基本信息接口
     */
    private String address;//车辆所在城市（注册地行政区划代码）

    //private String vehicleNo;//车辆号牌(与vehicleLicense重复)

    //private String plateColor;//车牌颜色(与boardColor重复)

    private Integer seats;//核定载客人数

    private String brand;//车辆厂牌

    //private String model;//车辆型号(与vehicleBrand重复)

    //private String vehicleType;//车辆类型(重复)

    //private String ownerName;//车辆所有人(与driverProType重复)

    private String vehicleColor;//车身颜色

    private String engineId;//发动机号

    private String vin;//车辆VIN码

    //private Long certifyDateA;//车辆注册日期(与vehRegisDate重复)

    private String fuelType;//车辆燃料类型

    private String engineDisplace;//发动机排量

    //private String photoId;//车辆照片文件编号(与vehiclePhoto重复)

    //private String certificate;//运输证字号(与certificateNo重复)

    private String transAgency;//车辆运输证发证机构

    private String transArea;//车辆经营区域

    private Date transDateStart;//车辆运输证有效期起 YYYYMMDD(与重复)

    private Date transDateStop;//车辆运输证有效期止 YYYYMMDD(与重复)

    //private Date certifyDateB;//车辆初次登记日期 YYYYMMDD(与ncpFirstDate重复)

    //private String fixState;//车辆检修状态(与examStatus重复)

    //private Date nextFixDate;//车辆下次年检时间(与nextExamDate重复)

    private String checkState;//车辆年度审验状态

    //private String feePrintId;//发票打印设备序列号(与ncpDeviceSerialNum重复)

    //private String gpsBrand;//卫星定位装置品牌(重复)

    //private String gpsModel;//卫星定位装置型号(与gpsDeviceType重复)

    //private String gPSIMEI;//卫星定位装置IMEI号(重复)

    //private Date installDate;//卫星定位设备安装日期 YYYYMMDD(与gpsFixDate重复)

    private Date registerDate;//报备日期 YYYYMMDD

    private Integer commercialType;//服务类型

    //private String fareType;//运价类型编码(与transPriceType重复)

    //private Integer state;//状态(取值？)

    private Integer flag;//操作标识1：新增2：更新3：删除

    //private Long updateTime;//更新时间 YYYYMMDDhhmmss(取值？)

    /**
     * spmodel 网约车车辆里程信息接口
     */
    //private Long address;//注册地行政区划代码(重复)

    //private String vehicleNo;//车辆号牌(与vehicleLicense重复)

    //private Integer totalMile;//行驶总里程(与distanceTotal重复)

    //private Integer flag;//操作标识（取值？）

    //private Long updateTime;//更新时间 YYYYMMDDhhmmss（取值？）

    private String type = Type.MOREQ_CLBA;


    public ClbaMessage() {
        super();

    }

    public String getVehiclePhotoPath() {
        return vehiclePhotoPath;
    }

    public void setVehiclePhotoPath(String vehiclePhotoPath) {
        this.vehiclePhotoPath = vehiclePhotoPath;
    }

    public String getType() {
        return type;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    public Long getId() {
        return id;
    }


    public void setId(Long id) {
        this.id = id;
    }


    public Date getCreated() {
        return created;
    }


    public void setCreated(Date created) {
        this.created = created;
    }


    public Date getUpdated() {
        return updated;
    }


    public void setUpdated(Date updated) {
        this.updated = updated;
    }


    public String getDriverProType() {
        return driverProType;
    }


    public void setDriverProType(String driverProType) {
        this.driverProType = driverProType;
    }


    public String getVehicleBrand() {
        return vehicleBrand;
    }


    public void setVehicleBrand(String vehicleBrand) {
        this.vehicleBrand = vehicleBrand;
    }


    public Date getVehRegisDate() {
        return vehRegisDate;
    }


    public void setVehRegisDate(Date vehRegisDate) {
        this.vehRegisDate = vehRegisDate;
    }


    public String getVehicleLicense() {
        return vehicleLicense;
    }


    public void setVehicleLicense(String vehicleLicense) {
        this.vehicleLicense = vehicleLicense;
    }


    public Date getNcpFirstDate() {
        return ncpFirstDate;
    }


    public void setNcpFirstDate(Date ncpFirstDate) {
        this.ncpFirstDate = ncpFirstDate;
    }


    public String getCertificateNo() {
        return certificateNo;
    }


    public void setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
    }


    public String getVehicleStatus() {
        return vehicleStatus;
    }


    public void setVehicleStatus(String vehicleStatus) {
        this.vehicleStatus = vehicleStatus;
    }


    public String getBoardColor() {
        return boardColor;
    }


    public void setBoardColor(String boardColor) {
        this.boardColor = boardColor;
    }


    public String getVehicleType() {
        return vehicleType;
    }


    public void setVehicleType(String vehicleType) {
        this.vehicleType = vehicleType;
    }


    public String getVehiclePhoto() {
        return vehiclePhoto;
    }


    public void setVehiclePhoto(String vehiclePhoto) {
        this.vehiclePhoto = vehiclePhoto;
    }


    public Double getDistanceTotal() {
        return distanceTotal;
    }


    public void setDistanceTotal(Double distanceTotal) {
        this.distanceTotal = distanceTotal;
    }


    public String getAnnualCheckStatus() {
        return annualCheckStatus;
    }


    public void setAnnualCheckStatus(String annualCheckStatus) {
        this.annualCheckStatus = annualCheckStatus;
    }


    public String getExamStatus() {
        return examStatus;
    }


    public void setExamStatus(String examStatus) {
        this.examStatus = examStatus;
    }


    public Date getNextExamDate() {
        return nextExamDate;
    }


    public void setNextExamDate(Date nextExamDate) {
        this.nextExamDate = nextExamDate;
    }


    public String getNcpDeviceSerialNum() {
        return ncpDeviceSerialNum;
    }


    public void setNcpDeviceSerialNum(String ncpDeviceSerialNum) {
        this.ncpDeviceSerialNum = ncpDeviceSerialNum;
    }


    public String getGpsBrand() {
        return gpsBrand;
    }


    public void setGpsBrand(String gpsBrand) {
        this.gpsBrand = gpsBrand;
    }


    public String getGpsDeviceType() {
        return gpsDeviceType;
    }


    public void setGpsDeviceType(String gpsDeviceType) {
        this.gpsDeviceType = gpsDeviceType;
    }


    public Date getGpsFixDate() {
        return gpsFixDate;
    }


    public void setGpsFixDate(Date gpsFixDate) {
        this.gpsFixDate = gpsFixDate;
    }


    public String getGpsIMEI() {
        return gpsIMEI;
    }


    public void setGpsIMEI(String gpsIMEI) {
        this.gpsIMEI = gpsIMEI;
    }


    public String getTransPriceType() {
        return transPriceType;
    }


    public void setTransPriceType(String transPriceType) {
        this.transPriceType = transPriceType;
    }


    public String getAddress() {
        return address;
    }


    public void setAddress(String address) {
        this.address = address;
    }


    public Integer getSeats() {
        return seats;
    }


    public void setSeats(Integer seats) {
        this.seats = seats;
    }


    public String getBrand() {
        return brand;
    }


    public void setBrand(String brand) {
        this.brand = brand;
    }


    public String getVehicleColor() {
        return vehicleColor;
    }


    public void setVehicleColor(String vehicleColor) {
        this.vehicleColor = vehicleColor;
    }


    public String getEngineId() {
        return engineId;
    }


    public void setEngineId(String engineId) {
        this.engineId = engineId;
    }


    public String getVin() {
        return vin;
    }


    public void setVin(String vin) {
        this.vin = vin;
    }


    public String getFuelType() {
        return fuelType;
    }


    public void setFuelType(String fuelType) {
        this.fuelType = fuelType;
    }


    public String getEngineDisplace() {
        return engineDisplace;
    }


    public void setEngineDisplace(String engineDisplace) {
        this.engineDisplace = engineDisplace;
    }


    public String getTransAgency() {
        return transAgency;
    }


    public void setTransAgency(String transAgency) {
        this.transAgency = transAgency;
    }


    public String getTransArea() {
        return transArea;
    }


    public void setTransArea(String transArea) {
        this.transArea = transArea;
    }


    public Date getTransDateStart() {
        return transDateStart;
    }


    public void setTransDateStart(Date transDateStart) {
        this.transDateStart = transDateStart;
    }


    public Date getTransDateStop() {
        return transDateStop;
    }


    public void setTransDateStop(Date transDateStop) {
        this.transDateStop = transDateStop;
    }


    public String getCheckState() {
        return checkState;
    }


    public void setCheckState(String checkState) {
        this.checkState = checkState;
    }

//	public String getFeePrintId() {
//		return feePrintId;
//	}
//
//
//
//	public void setFeePrintId(String feePrintId) {
//		this.feePrintId = feePrintId;
//	}


    public Date getRegisterDate() {
        return registerDate;
    }


    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }


    public Integer getCommercialType() {
        return commercialType;
    }


    public void setCommercialType(Integer commercialType) {
        this.commercialType = commercialType;
    }
}
